package com.chinairi.mall.service;

import com.chinairi.mall.controller.viewobject.ContractMaintainGetVO;
import com.chinairi.mall.controller.viewobject.ContractMaintainVO;
import com.chinairi.mall.model.ContractMaitain;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinairi.mall.model.UserCompanyInfo;

import java.util.List;

/**
 * <p>
 * 合同维护 服务类
 * </p>
 *
 * @author Webgasd
 * @since 2020-09-06
 */
public interface IContractMaitainService extends IService<ContractMaitain> {
    /**
     * 获取合同列表
     *
     * @param contractMaintainGetVO
     * @return list
     */
    List<ContractMaintainGetVO> get(ContractMaintainGetVO contractMaintainGetVO);

    /**
     * 配置合同的物料
     *
     * @param contractMaintainVO
     */
    void config(ContractMaintainVO contractMaintainVO);

    /**
     * 根据合同主键，获取该合同下的所有信息
     *
     * @param uuid
     * @return
     */
    ContractMaintainVO getByUuid(String uuid);

    /**
     * 更新合同中的物料信息。
     *
     * @param contractMaintainVO
     */
    void update(ContractMaintainVO contractMaintainVO);

    /**
     * 删除合同
     *
     * @param uuid
     */
    void deleteById(String uuid);

    /**
     * 根据现实时间更新合同表，检查合同表时间是否已经超过当前时间，超过后status置0
     */
    void updateCheck();

    /**
     * 根据企业资质类型获取企业dbid
     *
     * @param type
     * @return
     */
    List<UserCompanyInfo> getCompDbIdList(Integer type);
}
